package com.mstore.service;

import java.util.ArrayList;
import java.util.List;

import com.mstore.dao.BFuncPrivilegeDao;
import com.mstore.pojo.BFuncPrivilege;

public class BFuncPrivilegeService {

	private BFuncPrivilegeDao funcPrivilegeDao;

	/**
	 * 查询所有功能
	 */
	public List<BFuncPrivilege> getFuncPrivilegeByEaId(Long eaId) {
		List<BFuncPrivilege> funcPrivileges = new ArrayList<BFuncPrivilege>();
		List<Object> objects = funcPrivilegeDao.getFuncPrivilegeByEaId(eaId);
		for (Object object : objects) {
			funcPrivileges.add((BFuncPrivilege) object);
		}
		return funcPrivileges;
	}

	/**
	 * 根据企业id和功能id查询企业的功能权限
	 */
	public BFuncPrivilege getFuncPrivilegeByFuncIdAndEaId(Long eaId, Long funcId) {
		Object obj = funcPrivilegeDao.getFuncPrivilegeByFuncIdAndEaId(eaId, funcId);
		return obj != null ? (BFuncPrivilege)obj : null;
	}

	/**
	 * 根据功能id查询企业的是否有权限
	 */
	public int getCountFuncPrivilegeByFuncId(Long eaId, Long funcId) {
		return funcPrivilegeDao.getCountFuncPrivilegeByFuncId(eaId, funcId)
				.intValue();
	}

	/**
	 * 添加企业功能权限
	 */
	public void addFuncPrivilege(BFuncPrivilege funcPrivilege) {
		funcPrivilegeDao.addFuncPrivilege(funcPrivilege);
	}
	
	/**
	 * 删除企业功能权限
	 */
	public void delFuncPrivilege(BFuncPrivilege funcPrivilege) {
		funcPrivilegeDao.delFuncPrivilege(funcPrivilege);
	}
	
	/**
	 * 通过功能id查询权限信息
	 */
	public List<BFuncPrivilege> getFuncPrivilegeByFunctionId(Long functionId) {
		List<BFuncPrivilege> funcPrivileges = new ArrayList<BFuncPrivilege>();
		List<Object> objects = funcPrivilegeDao.getFuncPrivilegeByFunctionId(functionId);
		for (Object object : objects) {
			funcPrivileges.add((BFuncPrivilege)object);
		}
		return funcPrivileges;
	}
	
	/**
	 * 修改权限标识
	 */
	public void modifyFuncPrivilegeOnOff(BFuncPrivilege funcPrivilege) {
		funcPrivilegeDao.modifyFuncPrivilegeOnOff(funcPrivilege);
	}
	
	public BFuncPrivilegeDao getFuncPrivilegeDao() {
		return funcPrivilegeDao;
	}

	public void setFuncPrivilegeDao(BFuncPrivilegeDao funcPrivilegeDao) {
		this.funcPrivilegeDao = funcPrivilegeDao;
	}

}
